The present invention relates generally to computer systems that utilize rules-based mechanisms to facilitate or implement an application or business process. A type of system that often uses a rules-based approach is an expert system or knowledge-based system, which attempts to mimic the thought process that an expert would utilize to address tasks in a particular field. Computer systems that employ rules-based mechanisms, e.g. experts systems, are employed in a wide variety of settings, such as computer systems that bank loan officers use for guidance in approving and rejecting loan applications. Other examples of disciplines in which rules-based based systems are used include automobile repair, medical diagnosis, oil exploration, financial planning, chemical analysis, surgery, weather prediction, computer repair, computer system configuration, operation of nuclear plants, interpreting government regulations, tax preparation, as well as many others.
A typical rules-based approach employs one or more sets of rules (“rulesets”) that define actions or results that occur upon specified input values or parameters. A rule server is a computing device that performs the functionality of applying a set of rules to a given set of input values or parameters. An exemplary rules-based product embodying this approach is the Blaze Advisor™ product available from HNC Software, Inc. of San Diego, Calif.
One advantage of the rules-based approach is that additions, extensions, and/or modifications to an application/business process can be implemented by changing rule entries in corresponding ruleset(s) rather than undertaking the extensive effort of recoding and recompiling application specific software code. The common procedure to update rules used by a rule server requires the rule server to be taken offline, rendering the rule server unavailable to end-users. While the rule server is off-line, administrators effect any necessary changes to the online rulesets and thereafter performs a restart operation for the rule server. End-users regain access to the rule server after it returns to an online state. The clear drawback to this approach is that the rule-server becomes unavailable during the rules upgrade operation. With the widespread use and growing dependence upon computers in almost every facet of the business environment, it is often undesirable to take a computer system offline for even a short period of time. Time lost when the computer system is inaccessible could result in lost opportunity and increased frustration to those that depend upon the computer system.
Therefore, it is desirable to implement a method and mechanism for upgrading one or more sets of rules without taking a rule server offline. The present invention provides an improved mechanism for updating rules accessed by a rule server. In an embodiment, the present invention provides a mechanism for connecting one or more rule service agents to a rule server, changing the rules within a rule server, and effecting the new rules without restarting the rule server. Note that the principles disclosed herein are equally applicable to perform update operations for other types of computer systems. Further details of aspects, objects, and advantages of the invention are described below in the detailed description, drawings, and claims.